package com.hcc.export.helper.core.service;

import com.hcc.export.helper.core.domain.po.ExportConfig;
import com.hcc.export.helper.core.domain.po.ExportTaskRecord;

import java.util.List;

public interface ExportService {

    /**
     * 添加导出配置
     * @param exportConfig
     */
    void addExportConfig(ExportConfig exportConfig);

    /**
     * 提交导出任务
     * @param exportTaskRecord
     */
    void submitExportTask(ExportTaskRecord exportTaskRecord);

    /**
     * 重试
     * @param exportTaskRecordId
     */
    void retryExportTask(Long exportTaskRecordId);

    /**
     * 直接导出
     * @param exportTaskRecordId
     */
    void export(Long exportTaskRecordId);

    /**
     * 查询导出失败的任务
     * @return
     */
    List<ExportTaskRecord> listFailedRecord(String exportCode);

}
